public class Test {

    public static void main1(String[] args) {
        System.out.println("hahahaha");

        int a =10,b;
        System.out.println(a);
        System.out.println("+================+");
        System.out.println(Integer.MIN_VALUE);
        System.out.println(Integer.MAX_VALUE);
        long l = 100L;
        System.out.println(Long.MIN_VALUE);
        System.out.println(Long.MAX_VALUE);

        short sh = 32767;
        sh = -32768;
        System.out.println(sh);
        //如果给定的值超过了我的表示的最大值，那么直接报错（java的安全性），java不存在溢出
        System.out.println(Short.MIN_VALUE);
        System.out.println(Short.MAX_VALUE);

        byte b1 = -128;
        b1 = 127;
        System.out.println(Byte.MAX_VALUE);
        System.out.println(Byte.MIN_VALUE);

        b1 = (byte)200;
        System.out.println(b1);

        double d = 10;
        System.out.println(Double.MAX_VALUE);
        System.out.println(Double.MIN_VALUE);

    }

    public static void main2(String[] args) {

        //double舒服的时候会自动忽略0
        System.out.println(12.000000);
        //在保留小数的时候，会自动进行四舍五入
        System.out.printf("%.3f\n",12.000422121);
        System.out.printf("%.3f\n",12.0006121);

        System.out.println(1.1*1.2);
        //小数没有精确的（小数点后有还有其他显示不了的）pdd砍一刀
        double d2 = 1.1;
        System.out.println(d2*d2);
    }

    public static void main3(String[] args) {
        float f1 = 12.231F;
        float f2 = 12232.121f;
        long l = 100L;

        //在后面加f或者L是强制类型转换吗？
    }


    public static void main4(String[] args) {
        char ch1 = 'a';
        char ch2 = '美';
        char ch3 = '羊';
        char ch4 = '羊';
        String str1 = "🐏";
        System.out.println(str1);

    }


}

//回顾第一节课：  初始java
// 1--java的发展简史
// 2--java长期开发版本 jdk8
// 3--java语言之父  高斯林  现代计算机之父  冯诺依曼
// 4--编译.java文件  生成.class文件。字节码文件在jvm当中运行
// 5-- jdk（java工具） --》 jre（运行环境） --》 jvm（java虚拟机）
// 6-- 在java当中写代码时，一个.java文件当中，只能有一个public修饰的类，这个类的名字必须和文件名一致，但是可以有多个类。

// 7-- 注释  行注释 块注释 文档注释（会生成对应的html文件）
// 8-- java关键字
// 9-- 标识符

//java的集成开发环境 --》IDEA
//MyEclipse  Eclipse

//IDEA的使用 项目的创建 选中src new一个class
//主方法的运行

//数据类型和变量
//常量:字面常量  程序运行期间，固定不变的量。
//java的数据分为两种类型  基本数据类型 引用类型
// 8种基本数据类型：byte  short int long float double char boolean(布尔类型)
//byte        字节类型          1个字节 （-128--127）                 Byte
//short       短整型            2个字节                              Short

//int         整型              4个字节                             Integer
//两个int相除的结果依旧是整数，直接舍弃小数部分

//long        长整型            long无论在那个系统中，都是8个字节        Long
//长整型的初始值后面建议加L或者l，建议加L。

//float       单精度浮点型       4个字节                             Float
//浮点数一般默认为double，在赋值给float的时候，需要在数的前面加f或者F
//double      双精度浮点型       8个字节                             Double
//float和double都是8个字节大小，但是double表示的范围比较大，小数位比较多

//char        字符型         2个字节
//C语言--》ASCII码字符集  java--》Unicode字符集
//boolean     布尔类型       只有false和true两个值，0和非0都不可以表示真假
//在1java虚拟机规范当中，没有说明boolean的字节大小是多少，也没有专门处理boolean的字节码指令。


//java的基本数据类型的字节大小是确定的，和计算机的操作系统无关，因为是在jvm当中运行的--》跨平台，可移植性强
//bit--8--》byte--1024-》kb--1024-》mb--1024-》gb--1024-》tb
//在Java当中，没有所谓的无符号，有符号的概念
//包装类：基本数据类型的放大版
//为什么有这么多数据类型：适应不同场景的需求
//当给定的值超过了基本数据类型可以表示的最大范围，那么编译器直接报错。  java的安全性表现
//包装类：基本数据类型对应的类类型。是基本数据类型的加大版本，具有较多的功能。

//java的特性  可移植   一次编译，到处运行  安全性


//变量：在程序运行期间可以修改的量。
//变量的定义 初始化 赋值

//类型转换
//隐式类型转换：
//显示类型转换：
//类型提升






















































//常量：字面常量，常量即运行期间，固定不变的量


